package co.edu.udea.xyz.bl.impl;

import java.util.List;

import org.apache.log4j.Logger;

import co.edu.udea.xyz.bl.RolService;
import co.edu.udea.xyz.dao.RolDAO;
import co.edu.udea.xyz.dto.Rol;
import co.edu.udea.xyz.util.exception.BLInversionesException;
import co.edu.udea.xyz.util.exception.XYZException;

public class RolServiceImpl implements RolService {
	static final Logger log = Logger.getLogger(PersonServiceImpl.class);
	RolDAO rolDAO;
	
	
	public RolDAO getRolDAO() {
		return rolDAO;
	}

	public void setRolDAO(RolDAO rolDAO) {
		this.rolDAO = rolDAO;
	}

	public RolServiceImpl() {
		
	}

	@Override
	public List<Rol> obtenerListaRoles()throws BLInversionesException, XYZException {
		log.info("Metodo obtener listado de roles de la base de datos.");
		List<Rol> listaRoles = null;
		listaRoles = rolDAO.obtener();
		return listaRoles;
	}

	@Override
	public void cambiarSalario(String idRol, int nuevoSalario)throws BLInversionesException, XYZException {
		log.info("Actualizar el salario del rol: "+idRol);
		Rol rolBD = rolDAO.obtener(idRol);
		
		if(rolBD != null){
			log.info("Salario actual: "+rolBD.getSalario());
			rolBD.setSalario(nuevoSalario);
			rolDAO.actualizar(rolBD);	
			log.info("Salario nuevo: "+rolBD.getSalario());
		}else{	
			log.info("El rol no existe.");
			throw new BLInversionesException("El rol no existe, verifique el idRol.");
		}
			
		
	}

}
